FUNCTION MODULE ZSTB_RFC_SQL_FETCH
FUNCTION GROUP  ZSTB_FUNCTION_GROUP
DESCRIPTION     fetch transfert data
PROCESSING TYPE : remote-enable module

IMPORT
PARAMETER   |TYPE_SPEC|ASSOCIATED_TYPE       |DEFAULT|OPTIONAL|PASS_VALUE|DESCRIPTION 
------------|---------|----------------------|-------|--------|----------|------------
SESSION_ID  |TYPE     |ZSTB_SESSION_ID_TYPE  |       |NO      |YES       |session ID  
REQUEST_UUID|TYPE     |ZSTB_REQUEST_UUID_TYPE|       |NO      |YES       |request UUID
FETCH_NUMBER|TYPE     |ZSTB_FETCH_NUMBER_TYPE|       |NO      |YES       |fetch number

TABLES
PARAMETER|TYPE_SPEC|ASSOCIATED_TYPE |OPTIONAL|DESCRIPTION
---------|---------|----------------|--------|-----------
FETCH    |LIKE     |ZSTB_FETCH_STRUC|NO      |fetch data 

SOURCE CODE
...........
function zstb_rfc_sql_fetch .
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(SESSION_ID) TYPE  ZSTB_SESSION_ID_TYPE
*"     VALUE(REQUEST_UUID) TYPE  ZSTB_REQUEST_UUID_TYPE
*"     VALUE(FETCH_NUMBER) TYPE  ZSTB_FETCH_NUMBER_TYPE
*"  TABLES
*"      FETCH STRUCTURE  ZSTB_FETCH_STRUC OPTIONAL
*"----------------------------------------------------------------------

* INFO : we do not use standard RFC_READ_TABLE because it does not :
*  - have any explicit order parameter
*  - erase read line

data fetch_line type zstb_fetch_struc.

* fill output table in order
select line_number line_part_number line_data from zstb_transf_tbl
into fetch_line
where zstb_transf_tbl~session_id = session_id
  and zstb_transf_tbl~request_uuid = request_uuid
  and zstb_transf_tbl~fetch_number = fetch_number
order by line_number ascending line_part_number ascending.
  append fetch_line to fetch.
endselect.

endfunction.